To get Reveal.js to work, these HTML headers and footers are necessary:
To write Reveal Slides in the same way we write Franklin blogs, the first thing first is to set page variables that let blog builder know to render the markdown as Reveal Slides rather than Franklin pages. Currently, I made this happen by manipulating the layout HTLMs of Franklin:
It seems that, now I can write slides using a strange markdown * \(\LaTeX\) grammar, instead of pure html.
But is it necessary? Wouldn't it more efficient (and/or more scalable) that I just learn HTML directly?
There are several pros for this wrapper:
Raw HTML slides just contains too many tags<foo><bar></bar></foo>, these would not help me focus on the contents;
Using this wrapper, I could manage the Slides.md in the same way of the Blogs.md, so convenient;
This wrapper is compatible with the rest functions I defined for better writing blogs, I don't have to swith my mind, so smooth;
However, the current application is just a very simple wrapper of basic Reveal.js HTML grammar. And instead of writting HTML tags, I have to add many \(\LaTeX\) like functions (many slashes and braces). That is not so elegant.
We should develop a new markdown parser (using pure julia), define the specific structures and keywords for controlling the behavior of each slide. In that way, maybe we could just write markdown like this:
\+\+\+
title="FakeMdSlideGrammar"
theme="SomeTheme"
footer="SomeFooter"
\+\+\+
==P==
# Slide 1
<!--| background: #123456 |-->
- fragment 1 <!--| fragment:fade-out; index:1 |-->
- fragment 2 <!--| fragment:fade-in; index:2 |-->
--F--
<!-- to wrap several items into one fragment -->
<!-- | fragment: fade-in; index:3 | -->
- I am part of fragment 3
**I am also part of fragment 3**
>So am I
```
Me Too~
```
--F--
==P==
plain
And get beautiful slides.
This would need fully understand of how Markdown.jl, and Franklin.jl works, thus is a looooooog journey for me.
I hope I could make it (when I have enough time 😿)